package com.jf.yytgd.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jf.yytgd.entity.bean.Diary;
import com.jf.yytgd.entity.dto.combined.CommentUserDTO;
import com.jf.yytgd.entity.dto.combined.DiaryUserBarDTO;
import com.jf.yytgd.entity.dto.combined.DiaryUserDTO;
import com.jf.yytgd.entity.dto.comment.CommentCreateDTO;
import com.jf.yytgd.entity.dto.diary.DiaryPublishDTO;
import com.jf.yytgd.entity.dto.like.LikeDTO;
import com.jf.yytgd.entity.dto.like.LikeExistDTO;

import java.util.List;

/**
 * Created with IntelliJ IDEA
 * Description: 日记服务层接口
 * User:22954
 * Date:2025-01-13
 * Time:12:57
 */
public interface DiaryService extends IService<Diary> {
    DiaryUserDTO browse(Integer diaryId);

    Page<DiaryUserBarDTO> barPage(Integer pageNo, Integer pageSize, String search, String order);

    Page<DiaryUserBarDTO> userBarPage(Integer pageNo, Integer pageSize, Integer userId);

    void like(LikeDTO likeDTO);

    boolean isLike(LikeExistDTO likeDTO);

    void publish(DiaryPublishDTO diaryDTO);

    void comment(CommentCreateDTO commentDTO);

    List<CommentUserDTO> listComment(Integer diaryId);
}
